<?php 
namespace Common\Model;
use Hdphp\Model\Model;
/**
* user模型
*/
class Category extends Model{
	// 接收表
	protected $table='category';
	// 自动验证
	protected $validate=array(           
							array('cname','required','分类名不能为空',3,3),
						);
	// 添加方法
	public function store(){
		// 自动验证
		if(!$this->create()) return false;
		// 如果$this->add方法不传入数据，会自动获取$this->data里面的数据写入数据库
		return $this->add();
	}
	// 获得其他类
	public function getCategory($allArray,$cid){
		// 找到当前传入数据的子集
		$sonCid=$this->getSon($allArray,$cid);
		// 排除自己
		$sonCid[]=$cid;
		// 判断不在数组中的cid
		$result=$this->whereNotIn('cid',$sonCid)->get();
		// 返回数组信息
		return Data::tree($result,'cname');
	}
	// 获得当前子集
	public function getSon($allArray,$cid){
		// 声明数组  防止报错
		$temp=array();
		// 循环添加数组元素
		foreach ($allArray as $v) {
			// 判断子集
			if($cid==$v['pid']){
				// 压入数组
				$temp[]=$v['cid'];
				// 合并数组
				$temp=array_merge($temp,$this->getSon($allArray, $v['cid']));
			}
		}
		// 返回数组
		return $temp;
	}
	// 编辑方法
	public function edit(){
		// 自动验证
		if(!$this->create()) return FALSE;
		// 写入数据库，返回值
		return $this->save();
	}

	public function del($cid){
		// 判断是否有数据
		$re=$this->where('pid',$cid)->get();
		// 判断数组是否为空
		if($re){
			$this->error='删除失败！改组存在子元素！';
			return FALSE;
		}else{
			// 删除数据库内容
			$result=$this->where('cid',$cid)->delete();
		}
		// 返回值
		return true;
	}
}


 ?>